/* *****************************************************************************
 * JFab (http://code.google.com/p/jfab)
 * Copyright (c) 2011 JFab.org
 * Admin jfab@jeffreythompson.net
 *
 * See the file "LICENSE.txt" for information on usage and redistribution of
 * this file, and for a DISCLAIMER OF ALL WARRANTIES.
 * *****************************************************************************/


package org.jfab.core.factory;

import org.jfab.core.collection.CommentList;
import org.jfab.core.model.CGEnumItem;


/**
 * Defines methods required by a code generator enum item factory.
 */
public interface CGEnumItemFactory
{
    /**
     * @param   enumName  Enum name.
     *
     * @return  a new code generator enum item.
     */
    CGEnumItem createEnumItem(String enumName);

    /**
     * @param   commentLines  Comment lines.
     * @param   enumName      Enum name.
     * @param   parameters    Parameters.
     *
     * @return  a new code generator enum item.
     */
    CGEnumItem createEnumItem(CommentList commentLines, String enumName,
        String parameters);
}
